/*
 * This file is part of b.AMP.
 * 
 * b.AMP is free software: you can redistribute it and/or modify it under 
 * the terms of the GNU Lesser General Public License as published by the 
 * Free Software Foundation, either version 3 of the License, or (at your 
 * option) any later version.
 * 
 * b.AMP is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or 
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU lesser General Public 
 * License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public License
 * along with b.AMP.  If not, see <http://www.gnu.org/licenses/>.
 */

#ifndef __DATA_OUTPUT_TEST_HPP__
#define __DATA_OUTPUT_TEST_HPP__

#include <bamp/sound_output_api.hpp>
#include <bamp/sound_output_ptr.hpp>
#include <bamp/noncopyable.hpp>

class SoundOutputTest : public bamp::SoundOutput, bamp::Noncopyable
{
public:
    SoundOutputTest();
    virtual ~SoundOutputTest();

    BAMP_SOUND_OUTPUT_DEFINE_CLONE_NOT_IMPLEMENTED;

    virtual void open(const std::string& url);
    virtual void close();
    virtual void setHost(bamp::HostPtr host);
    virtual void send(bamp::MessagePtr msg);
    virtual void setInput(bamp::SoundWriterPtr input);
    virtual bamp::Format getInFormat(size_t chan);

};

#endif // __DATA_OUTPUT_TEST_HPP__
